<?php

/**
 * Vuelo form.
 *
 * @package    aeropostal
 * @subpackage form
 * @author     Yngrid Coello - 24/08/2011
 */
class VueloForm extends BaseVueloForm
{
  public function configure()
  {

	// Asociar los campos a mostrar en el formulario
	$this->setWidgets(array(
      'matricula'    => new sfWidgetFormPropelChoice(array('model'=> 'Aeronave','add_empty' => '--Seleccione una Matricula--','key_method' => 'getMatricula')),
	  'num_Vuelo'    => new sfWidgetFormInput(),
      'nomb_Capitan'   => new sfWidgetFormInput(),
    ));
	
	// Cambiar las etiquetas de las columnas de la tabla de BD
	$this->widgetSchema->setLabels(array(
	  'num_Vuelo'    => 'N&uacute;mero de Vuelo',
	  'nomb_Capitan'      => 'Nombre del Capit&aacute;n',
	));

	// Setear los errores que aparecen en el formulario
	$this->setValidators(array(
	  'matricula' => new sfValidatorPropelChoice(array('model' => 'Vuelo', 'column' => 'matricula'),array('required' => 'Debe especificar la matricula del Avi&oacute;n.',)), 
	  'nomb_Capitan'   => new sfValidatorString(array('required' => true),array('required' => 'Debe especificar el nombre del Capit&aacute;n.')),
      'num_Vuelo' => new sfValidatorInteger(array('min' => 0), array('required' => 'Debe especificar el n&uacute;mero del vuelo.','min' => 'Valor no v&aacute;lido. Por favor inserte un serial mayor o igual a %min%',)),
    ));
	
	// Desasociar el id(autoincremental) del formulario
	unset($this->validatorSchema['id']);
	unset($this->widgetSchema['id']);
	
	// Solucionar problemas con el token CRSF
	$this->widgetSchema->setNameFormat('Vuelo[%s]');
	$this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);

  }
}
